package cn.com.bluemoon.daps.common.sql.layer;


import com.alibaba.druid.DbType;
import com.alibaba.druid.sql.SQLUtils;

/**
 * 语法校验
 *
 * @author Jarod.Kong
 * @date 2021/1/21 15:12
 */
public interface ILayerCheck {
    /**
     * 解析SQL（单条）
     *
     * @param dbType
     * @param sql
     */
    public void checkSingle(DbType dbType, String sql, LayerCallback callback);

    /**
     * 解析SQL（多条）
     * 整条语句结果
     *
     * @param dbType
     * @param sqls   多条（select 1 ; select 2)
     */
    public void check(DbType dbType, String sqls, LayerCallback callback);

    public String getFormatSql(String sql, DbType dbType, SQLUtils.FormatOption formatOption);

    String getFormatSql(String sql, DbType dbType);

    public String getFormatMysqlSql(String sql);
}
